package com.kevis.zhunblog.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.github.pagehelper.PageInfo;
import com.kevis.zhunblog.core.dto.PageDomain;
import com.kevis.zhunblog.core.entities.PowerMenuEntity;
import com.kevis.zhunblog.core.entities.RoleEntity;

import java.util.List;

/**
 *
 */
public interface RoleService extends IService<RoleEntity> {
    /**
     * Describe: 查询角色数据
     * Param: queryRoleParam
     * Return: 操作结果
     */
    List<RoleEntity> list(RoleEntity queryRoleParam);

    /**
     * Describe: 分页查询角色数据
     * Param: queryRoleParam
     * Param: pageDomain
     * Return: 操作结果
     */
    PageInfo<RoleEntity> page(RoleEntity param, PageDomain pageDomain);

    /**
     * Describe: 保存角色数据
     * Param: SysRole
     * Return: 操作结果
     */
    boolean save(RoleEntity sysRole);

    /**
     * Describe: 根据 id 获取角色信息
     * Param: id
     * Return: 操作结果
     */
    RoleEntity getById(String id);

    /**
     * Describe: 根据 id 修改用户数据
     * Param: ids
     * Return: 操作结果
     */
    boolean update(RoleEntity sysRole);


    /**
     * Describe: 根据 id 删除角色数据
     * Param: id
     * Return: Boolean
     */
    Boolean remove(Integer id) ;

    List<PowerMenuEntity> getRolePower(Integer roleId);

    /**
     * Describe: 保存角色权限
     * Param: roleId , powerIds
     * Return: 操作结果
     */
    Boolean saveRolePower(Integer roleId, List<String> powerIds);
}
